var app = getApp();

Page({
    data: {
        /*patient_id需要从上个页面获取*/
        patient_id: 0,

        //胰岛素泵6个时间段设置
        pumpTimeSlice: ['00:00-03:00', '03:00-08:00', '08:00-12:00', '12:00-16:00', '16:00-20:00', '20:00-24:00'],
        //每日就餐&就寝安排（24小时制）
        dailyLife: {
            breakfast: 8, //早餐时间
            lunch: 12, //午餐时间
            dinner: 18, //晚餐时间
        },
        dailyTime: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], //24小时
        // idealBG: [79.2, 124.2, 120.6, 144.0], //目标血糖控制水平【餐前低值、餐前高值、餐后低值、餐后高值】
        idealBG: [4.4, 6.9, 6.7, 8.0], //目标血糖控制水平【餐前低值、餐前高值、餐后低值、餐后高值】
        //当日血糖数据(mmol/L)
        bloodGlucose: {
            // preBedtimeBG: 172.8, //前一天睡前
            // midnightBG: 106.2, //三点
            // fastingBG: 108.0, //早餐前（空腹）
            // postBreakfastBG: 212.4, //早餐后
            // preLunchBG: 120.6, //午餐前
            // postLunchBG: 189.0, //午餐后
            // preDinnerBG: 104.4, //晚餐前
            // postDinnerBG: 154.8, //晚餐后
            // bedtimeBG: 198, //当天睡前

            // preBedtimeBG: 9.6, //前一天睡前
            // midnightBG: 5.9, //三点
            // fastingBG: 6.0, //早餐前（空腹）
            // postBreakfastBG: 11.8, //早餐后
            // preLunchBG: 6.7, //午餐前
            // postLunchBG: 10.5, //午餐后
            // preDinnerBG: 5.8, //晚餐前
            // postDinnerBG: 8.6, //晚餐后
            // bedtimeBG: 11, //当天睡前

            preBedtimeBG: 0.0, //前一天睡前
            midnightBG: 0.0, //三点
            fastingBG: 0.0, //早餐前（空腹）
            postBreakfastBG: 0.0, //早餐后
            preLunchBG: 0.0, //午餐前
            postLunchBG: 0.0, //午餐后
            preDinnerBG: 0.0, //晚餐前
            postDinnerBG: 0.0, //晚餐后
            bedtimeBG: 0.0, //当天睡前
        },
        showOld: true,
        //历史胰岛素方案
        oldInsulinPlan: {
            oldTDI: 45, //全天胰岛素总剂量
            oldBasalTDI: 24, //全天基础胰岛素总量
            oldBolusTDI: 21, //全天餐时胰岛素总量
            oldBasalInject: 1.0, //基础注射率（24小时平均）
            oldPumpSlice: [0.6, 1.2, 0.8, 0.9, 1.1, 0.8], //六个基础时间段胰岛素注射率
            oldBolusSlice: [8.4, 7, 7], //三个餐时胰岛素剂量
        },
        //历史针剂方案
        oldInjectPlan: {
            morningBolus: 8.4, //早餐前（速效）
            afternoonBolus: 7, //午餐前（速效）
            eveningBolus: 7, //晚餐前（速效）
            bedtimeBasal: 22.2, //睡前（长效）
        },
        showNew: false,
        //KNN调整偏移率
        biasRatio: 0,
        //调整后胰岛素方案1
        newInsulinPlan1: {
            newTDI: 20, //全天胰岛素总剂量
            newBasalTDI: 18, //全天基础胰岛素总量
            newBolusTDI: 2, //全天餐时胰岛素总量
            newBasalInject: 1.2, //基础注射率（24小时平均）
            newPumpSlice: [0.5, 1.2, 0.8, 0.9, 1.1, 0.8], //六个基础时间段胰岛素注射率
            newBolusSlice: [9, 9, 9], //三个餐时胰岛素剂量
        },
        //调整后针剂方案1
        newInjectPlan1: {
            morningBolus: 10, //早餐前（速效）
            afternoonBolus: 10, //午餐前（速效）
            eveningBolus: 10, //晚餐前（速效）
            bedtimeBasal: 8, //睡前（长效）
        },
        //调整后胰岛素方案2
        newInsulinPlan2: {
            newTDI: 20, //全天胰岛素总剂量
            newBasalTDI: 18, //全天基础胰岛素总量
            newBolusTDI: 2, //全天餐时胰岛素总量
            newBasalInject: 1.2, //基础注射率（24小时平均）
            newPumpSlice: [0.5, 1.2, 0.8, 0.9, 1.1, 0.8], //六个基础时间段胰岛素注射率
            newBolusSlice: [9, 9, 9], //三个餐时胰岛素剂量
        },
        //调整后针剂方案2
        newInjectPlan2: {
            morningBolus: 10, //早餐前（速效）
            afternoonBolus: 10, //午餐前（速效）
            eveningBolus: 10, //晚餐前（速效）
            bedtimeBasal: 8, //睡前（长效）
        },
        //调整意见
        message: "",
        showSave: false, //是否显示保存胰岛素方案的按钮
    },

    onLoad(options) {
        console.log("传参", options.patient_id)
        if (options.patient_id)
            this.setData({
                patient_id: parseInt(options.patient_id)
            })

        //从后端获取历史剂量方案
        wx.request({
            url: `${app.globalData.protocol}://${app.globalData.host}/bgmp/api/insulin?Action=GetInsulinTherapy`,
            method: 'POST',
            header: {
                "Content-Type": "application/json",
                "x-api-key": wx.getStorageSync('token'),
            },
            data: {
                "patient_id": this.data.patient_id,
                "before": Math.floor(Date.now() / 1000)
            },
            success: (res) => {
                // console.log("返回剂量方案：", res)
                var therapy = res.data.message.therapy;
                console.log("返回剂量方案：", therapy)
                this.setData({
                    oldInsulinPlan: {
                        oldTDI: therapy.tdi, //全天胰岛素总剂量
                        oldBasalTDI: therapy.basal_tdi, //全天基础胰岛素总量
                        oldBolusTDI: therapy.bolus_tdi, //全天餐时胰岛素总量
                        oldBasalInject: therapy.basal_inject, //基础注射率（24小时平均）
                        oldPumpSlice: [therapy.pump_0_3, therapy.pump_3_8, therapy.pump_8_12, therapy.pump_12_16, therapy.pump_16_20, therapy.pump_20_24], //六个基础时间段胰岛素注射率
                        //oldBolusSlice:[therapy.breakfast_bolus,therapy.lunch_bolus,therapy.dinner_bolus],//三个餐时胰岛素剂量
                        oldBolusSlice: [therapy.breakfast_bolus, therapy.lunch_bolus, therapy.dinner_bolus], //三个餐时胰岛素剂量
                    }
                })

                this.setData({
                    oldInjectPlan: {
                        morningBolus: therapy.breakfast_bolus, //早餐前（速效）
                        // afternoonBolus:therapy.lunch_bolus,//午餐前（速效）
                        afternoonBolus: therapy.lunch_bolus, //午餐前（速效）
                        eveningBolus: therapy.dinner_bolus, //晚餐前（速效）
                        bedtimeBasal: therapy.bedtime_basal, //睡前（长效）
                    }
                })

            }
        })
    },

    //调整后的胰岛素剂量计算及泵转针剂换算（方案一）
    newCurePlanDecideOption1: function () {
        var pumpSlice = JSON.parse(JSON.stringify(this.data.oldInsulinPlan.oldPumpSlice));
        var bolusSlice = JSON.parse(JSON.stringify(this.data.oldInsulinPlan.oldBolusSlice));

        var pre_low = this.data.idealBG[0]
        var pre_high = this.data.idealBG[1]
        var post_low = this.data.idealBG[2]
        var post_high = this.data.idealBG[3]
        console.log("目标值：", pre_low, pre_high, post_low, post_high)

        var midnightBG = this.data.bloodGlucose.midnightBG //三点
        var fastingBG = this.data.bloodGlucose.fastingBG //早餐前（空腹）
        var postBreakfastBG = this.data.bloodGlucose.postBreakfastBG //早餐后
        var preLunchBG = this.data.bloodGlucose.preLunchBG //午餐前
        var postLunchBG = this.data.bloodGlucose.postLunchBG //午餐后
        var preDinnerBG = this.data.bloodGlucose.preDinnerBG //晚餐前
        var postDinnerBG = this.data.bloodGlucose.postDinnerBG //晚餐后
        var bedtimeBG = this.data.bloodGlucose.bedtimeBG //当天睡前
        console.log("血糖值：", midnightBG, fastingBG, postBreakfastBG, preLunchBG, postLunchBG, preDinnerBG, postDinnerBG, bedtimeBG)

        //统计整体目标
        var global_low = ((midnightBG < pre_low) ? 1 : 0) + ((fastingBG < pre_low) ? 1 : 0) + ((preLunchBG < pre_low) ? 1 : 0) + ((preDinnerBG < pre_low) ? 1 : 0) + ((bedtimeBG < pre_low) ? 1 : 0) + ((postBreakfastBG < post_low) ? 1 : 0) + ((postLunchBG < post_low) ? 1 : 0) + ((postDinnerBG < post_low) ? 1 : 0)
        var global_high = ((midnightBG > pre_high) ? 1 : 0) + ((fastingBG > pre_high) ? 1 : 0) + ((preLunchBG > pre_high) ? 1 : 0) + ((preDinnerBG > pre_high) ? 1 : 0) + ((bedtimeBG > pre_high) ? 1 : 0) + ((postBreakfastBG > pre_high) ? 1 : 0) + ((postLunchBG > post_high) ? 1 : 0) + ((postDinnerBG > post_high) ? 1 : 0)

        if (global_low >= 6) { //血糖整体水平偏低
            console.log("偏低水平：", global_low)
            pumpSlice.forEach(item => {
                item = item - 0.1
            })
            this.setData({
                message: "血糖整体水平偏低，基础率降低0.1U"
            })
        } else if (global_high >= 6) { //血糖整体水平偏高
            console.log("偏高水平：", global_high)
            pumpSlice.forEach(item => {
                item = item + 0.1
            })
            this.setData({
                message: "血糖整体水平偏高，基础率增加0.1U"
            })
        } else {
            this.setData({
                message: "对各时间段进行精细调整"
            })
            //凌晨三点 VS 前一天睡前
            if (this.data.bloodGlucose.midnightBG - this.data.bloodGlucose.preBedtimeBG > 1.67)
                pumpSlice[0] = pumpSlice[0] * 1.1;
            else if (this.data.bloodGlucose.midnightBG - this.data.bloodGlucose.preBedtimeBG < -1.67)
                pumpSlice[0] = pumpSlice[0] * 0.9;

            //空腹（早餐前）VS 凌晨三点
            if (this.data.bloodGlucose.fastingBG - this.data.bloodGlucose.midnightBG > 1.67)
                pumpSlice[1] = pumpSlice[1] * 1.1;
            else if (this.data.bloodGlucose.fastingBG - this.data.bloodGlucose.midnightBG < -1.67)
                pumpSlice[1] = pumpSlice[1] * 0.9;

            //午餐前 VS 早餐后
            if (this.data.bloodGlucose.preLunchBG - this.data.bloodGlucose.postBreakfastBG > 1.67)
                pumpSlice[2] = pumpSlice[2] * 1.1;
            else if (this.data.bloodGlucose.preLunchBG - this.data.bloodGlucose.postBreakfastBG < -1.67)
                pumpSlice[2] = pumpSlice[2] * 0.9;

            //晚餐前 VS 午餐后
            if (this.data.bloodGlucose.preDinnerBG - this.data.bloodGlucose.postLunchBG > 1.67) {
                pumpSlice[3] = pumpSlice[3] * 1.1;
                pumpSlice[4] = pumpSlice[4] + 0.1;
            } else if (this.data.bloodGlucose.preDinnerBG - this.data.bloodGlucose.postLunchBG < -1.67) {
                pumpSlice[3] = pumpSlice[3] * 0.9;
                pumpSlice[4] = pumpSlice[4] - 0.1;
            }

            //睡前 VS 晚餐后
            if (this.data.bloodGlucose.bedtimeBG - this.data.bloodGlucose.postDinnerBG > 1.67)
                pumpSlice[5] = pumpSlice[5] * 1.1;
            else if (this.data.bloodGlucose.bedtimeBG - this.data.bloodGlucose.postDinnerBG < -1.67)
                pumpSlice[5] = pumpSlice[5] * 0.9;

            //早餐前后
            if (this.data.bloodGlucose.postBreakfastBG - this.data.bloodGlucose.fastingBG > 2.78)
                bolusSlice[0] = bolusSlice[0] * 1.1;
            else if (this.data.bloodGlucose.postBreakfastBG - this.data.bloodGlucose.fastingBG < 0)
                bolusSlice[0] = bolusSlice[0] * 0.9;

            //午餐前后
            if (this.data.bloodGlucose.postLunchBG - this.data.bloodGlucose.preLunchBG > 2.78)
                bolusSlice[1] = bolusSlice[1] * 1.1;
            else if (this.data.bloodGlucose.postLunchBG - this.data.bloodGlucose.preLunchBG < 0)
                bolusSlice[1] = bolusSlice[1] * 0.9;

            //晚餐前后
            if (this.data.bloodGlucose.postDinnerBG - this.data.bloodGlucose.preDinnerBG > 2.78)
                bolusSlice[2] = bolusSlice[2] * 1.1;
            else if (this.data.bloodGlucose.postDinnerBG - this.data.bloodGlucose.preDinnerBG < 0)
                bolusSlice[2] = bolusSlice[2] * 0.9;
        }

        var basal = pumpSlice[0] * 3 + pumpSlice[1] * 5 + pumpSlice[2] * 4 + pumpSlice[3] * 4 + pumpSlice[4] * 4 + pumpSlice[5] * 4;
        var bolus = bolusSlice[0] + bolusSlice[1] + bolusSlice[2];

        bolusSlice.forEach(item => {
            item = item.toFixed()
        })

        this.setData({
            newInsulinPlan1: {
                newTDI: basal + bolus, //全天胰岛素总剂量
                newBasalTDI: basal, //全天基础胰岛素总量
                newBolusTDI: bolus, //全天餐时胰岛素总量
                newBasalInject: basal / 24.0, //基础注射率（24小时平均）
                newPumpSlice: pumpSlice, //六个基础时间段胰岛素注射率
                newBolusSlice: bolusSlice, //三个餐时胰岛素剂量
            }
        })

        this.setData({
            newInjectPlan1: {
                morningBolus: bolusSlice[0], //早餐前（速效）
                afternoonBolus: bolusSlice[1], //午餐前（速效）
                eveningBolus: bolusSlice[2], //晚餐前（速效）
                bedtimeBasal: basal.toFixed(), //睡前（长效）
            },
        })



    },
    //调整后的胰岛素剂量计算及泵转针剂换算（方案二）
    newCurePlanDecideOption2: function () {
        console.log(this.data.patient_id);
        wx.request({
            url: `${app.globalData.protocol}://${app.globalData.host}/bgmp/api/algorithm?Action=Prescription`,
            method: 'POST',
            header: {
                "Content-Type": "application/json",
                "x-api-key": wx.getStorageSync('token'),
            },
            data: {
                "time" : Math.floor(new Date().getTime() / 1000),
                "patient_id": this.data.patient_id
            },
            success: (res) => {
                console.log(res);
                var prescription = res.data.message.prescription;
                var therapy=res.data.message.therapy;
                var biasRatio = 0;
                console.log(prescription)
                if (prescription == "Increase") {
                    biasRatio = 0.1;
                } else if (prescription == "Decrease") {
                    biasRatio = -0.1;
                } else;

                this.setData({
                    biasRatio: biasRatio
                })
                // var pumpSlice = JSON.parse(JSON.stringify(this.data.oldInsulinPlan.oldPumpSlice));
                // var bolusSlice = JSON.parse(JSON.stringify(this.data.oldInsulinPlan.oldBolusSlice));
        
                // pumpSlice.forEach((item, index, arr) => {
                //     var bias=item*biasRatio
                //     if (bias<0){
                //         bias=Math.min(-0.1,bias)
                //     }
                //     else if (bias>0){
                //         bias=Math.max(0.1,bias)
                //     }
                //     arr[index] = Math.max(0,item + bias);
                // });
                // bolusSlice.forEach((item, index, arr)=> {
                //     var bias=item*biasRatio
                //     if (bias<0){
                //         bias=Math.min(-0.1,bias)
                //     }
                //     else if (bias>0){
                //         bias=Math.max(0.1,bias)
                //     }
                //     arr[index] = Math.max(0,item + bias);
                // })
                var pumpSlice=[therapy.pump_0_3,therapy.pump_3_8,therapy.pump_8_12,therapy.pump_12_16,therapy.pump_16_20,therapy.pump_20_24]
                var bolusSlice=[therapy.breakfast_bolus,therapy.lunch_bolus,therapy.dinner_bolus]
        
                var basal = pumpSlice[0] * 3 + pumpSlice[1] * 5 + pumpSlice[2] * 4 + pumpSlice[3] * 4 + pumpSlice[4] * 4 + pumpSlice[5] * 4;
                var bolus = bolusSlice[0] + bolusSlice[1] + bolusSlice[2];
        
                this.setData({
                    newInsulinPlan2: {
                        newTDI: basal + bolus, //全天胰岛素总剂量
                        newBasalTDI: basal, //全天基础胰岛素总量
                        newBolusTDI: bolus, //全天餐时胰岛素总量
                        newBasalInject: basal / 24.0, //基础注射率（24小时平均）
                        newPumpSlice: pumpSlice, //六个基础时间段胰岛素注射率
                        newBolusSlice: bolusSlice, //三个餐时胰岛素剂量
                    }
                })
        
                this.setData({
                    newInjectPlan2: {
                        morningBolus: bolusSlice[0], //早餐前（速效）
                        afternoonBolus: bolusSlice[1], //午餐前（速效）
                        eveningBolus: bolusSlice[2], //晚餐前（速效）
                        bedtimeBasal: basal, //睡前（长效）
                    },
                })
            }
        })
        
    },
    planDecideOnClick: function () {
        this.newCurePlanDecideOption1();
        this.newCurePlanDecideOption2();

        this.setData({
            showNew: true,
            showSave: true
        })

    },
    adjustPlan(e) {
        const {
            mode
        } = e.currentTarget.dataset;
        const {
            value
        } = e.detail;
        this.setData({
            [mode]: value // 将用户输入的内容保存到 data 中
        });
        this.updatePlan()
    },
    updatePlan() {
        if (basalInfo.diaTypeIndex==0){
            var pumpSlice = this.data.newInsulinPlan1.newPumpSlice;
            var bolusSlice = this.data.newInsulinPlan1.newBolusSlice;
        }
        else if (basalInfo.diaTypeIndex==1){
            var pumpSlice = this.data.newInsulinPlan2.newPumpSlice;
            var bolusSlice = this.data.newInsulinPlan2.newBolusSlice;
        }


        var basal = pumpSlice[0] * 3 + pumpSlice[1] * 5 + pumpSlice[2] * 4 + pumpSlice[3] * 4 + pumpSlice[4] * 4 + pumpSlice[5] * 4;
        var bolus = bolusSlice[0] + bolusSlice[1] + bolusSlice[2];

        if (basalInfo.diaTypeIndex==0){
            this.setData({
                newInsulinPlan1: {
                    newTDI: basal + bolus, //全天胰岛素总剂量
                    newBasalTDI: basal, //全天基础胰岛素总量
                    newBolusTDI: bolus, //全天餐时胰岛素总量
                    newBasalInject: basal / 24.0, //基础注射率（24小时平均）
                    newPumpSlice: pumpSlice, //六个基础时间段胰岛素注射率
                    newBolusSlice: bolusSlice, //三个餐时胰岛素剂量
                },
                newInjectPlan1: {
                    morningBolus: bolusSlice[0], //早餐前（速效）
                    afternoonBolus: bolusSlice[1], //午餐前（速效）
                    eveningBolus: bolusSlice[2], //晚餐前（速效）
                    bedtimeBasal: basal, //睡前（长效）
                },
            })
        }
        else if (basalInfo.diaTypeIndex==1){
            this.setData({
                newInsulinPlan2: {
                    newTDI: basal + bolus, //全天胰岛素总剂量
                    newBasalTDI: basal, //全天基础胰岛素总量
                    newBolusTDI: bolus, //全天餐时胰岛素总量
                    newBasalInject: basal / 24.0, //基础注射率（24小时平均）
                    newPumpSlice: pumpSlice, //六个基础时间段胰岛素注射率
                    newBolusSlice: bolusSlice, //三个餐时胰岛素剂量
                },
                newInjectPlan2: {
                    morningBolus: bolusSlice[0], //早餐前（速效）
                    afternoonBolus: bolusSlice[1], //午餐前（速效）
                    eveningBolus: bolusSlice[2], //晚餐前（速效）
                    bedtimeBasal: basal, //睡前（长效）
                },
            })
        }


    },
    //保存胰岛素方案
    saveTherapy: function () {
        var diaTypeIndex = this.data.basalInfo.diaTypeIndex
        if (diaTypeIndex == 0) {
            var newInsulinPlan = this.data.newInsulinPlan1
            var newInjectPlan = this.data.newInjectPlan1
        } else {
            var newInsulinPlan = this.data.newInsulinPlan2
            var newInjectPlan = this.data.newInjectPlan2
        }
        var requestData = {
            "patient_id": parseInt(this.data.patient_id),
            "save_time": Math.floor(Date.now() / 1000),
            "tdi": parseFloat(newInsulinPlan.newTDI),
            "basal_tdi": parseFloat(newInsulinPlan.newBasalTDI),
            "bolus_tdi": parseFloat(newInsulinPlan.newBolusTDI),
            "basal_inject": parseFloat(newInsulinPlan.newBasalInject),
            "pump_0_3": parseFloat(newInsulinPlan.newPumpSlice[0]),
            "pump_3_8": parseFloat(newInsulinPlan.newPumpSlice[1]),
            "pump_8_12": parseFloat(newInsulinPlan.newPumpSlice[2]),
            "pump_12_16": parseFloat(newInsulinPlan.newPumpSlice[3]),
            "pump_16_20": parseFloat(newInsulinPlan.newPumpSlice[4]),
            "pump_20_24": parseFloat(newInsulinPlan.newPumpSlice[5]),
            "breakfast_bolus": parseFloat(newInsulinPlan.newBolusSlice[0]),
            "lunch_bolus": parseFloat(newInsulinPlan.newBolusSlice[1]),
            "dinner_bolus": parseFloat(newInsulinPlan.newBolusSlice[2]),
            "bedtime_basal": parseFloat(newInjectPlan.bedtimeBasal)
        };

        wx.request({
            url: `${app.globalData.protocol}://${app.globalData.host}/bgmp/api/insulin?Action=AddInsulinTherapy`,
            method: 'POST',
            header: {
                "Content-Type": "application/json",
                "x-api-key": wx.getStorageSync('token'),
            },
            data: requestData,
            success: (res) => {
                console.log("保存结果：", res)
                if (res.data.code == 200) {
                    this.setData({
                        showSave: false,
                    })
                    wx.showToast({
                        title: '保存成功',
                        icon: 'success',
                        duration: 1500 //持续的时间
                    })
                    // 延迟执行 navigateBack
                    setTimeout(() => {
                        wx.navigateBack();
                    }, 1500);
                } else {
                    wx.showToast({
                        title: '请稍后重试',
                        icon: 'none',
                        duration: 2000 //持续的时间
                    })
                }
            }
        })
    },

    //血糖数据

    //数字输入框（前一天睡前血糖）
    preBedtimeBGBindInput: function (e) {
        console.log('input发送选择改变，携带值为', e.detail.value)
        this.setData({
            ['bloodGlucose.preBedtimeBG']: e.detail.value
        })
    },

    //数字输入框（睡前血糖）
    bedtimeBGBindInput: function (e) {
        console.log('input发送选择改变，携带值为', e.detail.value)
        this.setData({
            ['bloodGlucose.bedtimeBG']: e.detail.value
        })
    },

    //数字输入框（凌晨三点血糖）
    midnightBGBindInput: function (e) {
        console.log('input发送选择改变，携带值为', e.detail.value)
        this.setData({
            ['bloodGlucose.midnightBG']: e.detail.value
        })
    },

    //数字输入框（空腹血糖）
    fastingBGBindInput: function (e) {
        console.log('input发送选择改变，携带值为', e.detail.value)
        this.setData({
            ['bloodGlucose.fastingBG']: e.detail.value
        })
    },

    //数字输入框（早餐后血糖）
    postBreakfastBGBindInput: function (e) {
        console.log('input发送选择改变，携带值为', e.detail.value)
        this.setData({
            ['bloodGlucose.postBreakfastBG']: e.detail.value
        })
    },

    //数字输入框（午餐前血糖）
    preLunchBGBindInput: function (e) {
        console.log('input发送选择改变，携带值为', e.detail.value)
        this.setData({
            ['bloodGlucose.preLunchBG']: e.detail.value
        })
    },

    //数字输入框（午餐后血糖）
    postLunchBGBindInput: function (e) {
        console.log('input发送选择改变，携带值为', e.detail.value)
        this.setData({
            ['bloodGlucose.postLunchBG']: e.detail.value
        })
    },

    //数字输入框（晚餐前血糖）
    preDinnerBGBindInput: function (e) {
        console.log('input发送选择改变，携带值为', e.detail.value)
        this.setData({
            ['bloodGlucose.preDinnerBG']: e.detail.value
        })
    },

    //数字输入框（晚餐后血糖）
    postDinnerBGBindInput: function (e) {
        console.log('input发送选择改变，携带值为', e.detail.value)
        this.setData({
            ['bloodGlucose.postDinnerBG']: e.detail.value
        })
    },
    getOldInsulinPlan() {
        wx.request({
            url: `${app.globalData.protocol}://${app.globalData.host}/bgmp/api/insulin?Action=GetInsulinTherapy`,
            method: 'POST',
            header: {
                "Content-Type": "application/json",
                "x-api-key": wx.getStorageSync('token'),
            },
            data: {
                'patient_id': this.data.patient_id,
                'before': Math.floor(Date.now() / 1000),
            },
            success: (res) => {
                console.log("历史方案：", res)
                var therapy = res.data.message.therapy
                if (res.data.code == 200) {
                    var oldInsulinPlan = {
                        oldTDI: therapy.tdi, //全天胰岛素总剂量
                        oldBasalTDI: therapy.basal_tdi, //全天基础胰岛素总量
                        oldBolusTDI: therapy.bolus_tdi, //全天餐时胰岛素总量
                        oldBasalInject: therapy.basal_inject, //基础注射率（24小时平均）
                        oldPumpSlice: [
                            therapy.pump_0_3,
                            therapy.pump_3_8,
                            therapy.pump_8_12,
                            therapy.pump_12_16,
                            therapy.pump_16_20,
                            therapy.pump_20_24,
                        ], //六个基础时间段胰岛素注射率
                        oldBolusSlice: [
                            therapy.breakfast_bolus,
                            therapy.lunch_bolus,
                            therapy.dinner_bolus,
                        ], //三个餐时胰岛素剂量
                    }
                    //历史针剂方案
                    var oldInjectPlan = {
                        morningBolus: therapy.breakfast_bolus, //早餐前（速效）
                        afternoonBolus: therapy.lunch_bolus, //午餐前（速效）
                        eveningBolus: therapy.dinner_bolus, //晚餐前（速效）
                        bedtimeBasal: therapy.bedtime_basal, //睡前（长效）
                    }
                    this.setData({
                        oldInsulinPlan: oldInsulinPlan,
                        oldInjectPlan: oldInjectPlan
                    })
                } else {
                    wx.showToast({
                        title: '历史方案获取失败',
                        icon: 'none',
                        duration: 2000 //持续的时间
                    })
                }
            }
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.setData({
            patient_id: parseInt(options.patient_id),
            basalInfo: JSON.parse(decodeURIComponent(options.basalInfo))
        })
        console.log("患者ID：", this.data.patient_id)
        console.log("患者基础信息：", this.data.basalInfo)
        this.getOldInsulinPlan()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})